# 定义两个生成器
import time


def task1():
    while True:
        print("----task1----")
        time.sleep(0.1)
        yield


def task2():
    while True:
        print("----task2----")
        time.sleep(0.1)
        yield


"""
    调用函数返回t1、t2两个生成器对象，使用next函数执行生成器代码
    遇到yield后暂停函数运行，执行主函数向下执行调用task2，遇到yield暂停
    如此循环达到并发效果，这就是协程原理消耗资源很少
"""


def main():
    t1 = task1()
    t2 = task2()
    while True:
        next(t1)
        next(t2)


if __name__ == '__main__':
    main()
